Conventionally, in a storage system in which a plurality of servers shares one storage device, input/output processings requested by the servers compete in the storage device, and the input/output processings are not capable of providing stable performance in some cases.
Hence, the storage device has a QoS (Quality of Service) function of maintaining adequate performance according to a priority order per input/output processing by performing processing by assigning the priority order to processing requests from the servers.
As the QoS function of the storage device, a technique of allocating internal resources such as queues based on the priority specified by the server and processing commands is known. A case will be described as an example where a server A specifies the priority and transmits commands in a storage system in which two of the server A and a server B share a storage device.
When the server A specifies the priority, the storage device allocates, for example, three times of internal resources compared to processing for which the priority is not specified. As a result, the storage device executes input/output processing requested by the server A preferentially over input/output processing requested by the server B.
Further, a technique of maintaining adequate performance according to the priority order per application by setting target performance and performance limit per server or LUN (Logical Unit Number) at a storage device side is known.
Patent Document 1: Japanese Laid-open Patent Publication No. 2007-264751
Patent Document 2: Japanese Laid-open Patent Publication No. 2003-124976
However, the above related techniques are not capable of easily realizing the QoS function of the storage in some cases.
More specifically, when the server A specifies the priority and transmits the command, the storage device allocates relative performance per server. In other words, the priority depends on the number of servers which share the storage device, and therefore it is not possible to allocate absolute resources.
Hence, when the number of servers which share the storage device increases, even if the server A specifies the priority and transmits the command, resources allocated to processing of the server A by the storage device decreases. Further, in this case, dedicated software for collaborating the storage device and the servers is also needed.
Further, when the storage device side sets target performance and a performance limit per server or LUN, only servers of higher priority occupy resources and servers of lower priority are not capable of executing processing in some cases. Furthermore, in this case, setting a specific performance value per server or LUN is troublesome.